package com.ff.javamonkey.socket;

import java.io.File;
import java.io.IOException;

import com.ff.javamonkey.socket.message.Message;

public interface ClientConnect {

	// Connection statuses.
	public static int CLIENT_CONNECTION_SUCCESSFUL = 1;
	public static int CLIENT_CONNECTION_REFUSED = -1;
	
	public void connect(String host, String pass) throws IOException;
	
	public void connect(String host, int port) throws IOException;
	
	public void close() throws IOException;
	
	public int getFileSize(String fileName) throws IOException;
	
	public byte[] getFile(String fileName) throws IOException;
	
	public File getFile(String fileName, String fileOut) throws IOException;
	
	public String[] getFileNames(String directory, String extension);
	
	public String getMessage();
	
	public boolean isConnected();
	
	public int getConnectionStatus();
	
	public void setConnectionStatus(int stat);
	
	public int getReadStatus();
	
	public void setReadStatus(int stat);

	public void write(Message message);
	
	public void write(File file);
	
	public String read();
}
